// 新增页面form表单编辑钱事件

import beforeEditForm from '../request/beforeEditForm';

export default async function(props, moduleId, fieldName, value, item, e) {
    const {
        form: {
            getAllFormValue,
            setFormItemsDisabled
        },
        humanResourceOrganizationValue: {
            refpk
        },
        meta: {
            getMeta,
            setMeta
        }
    } = this.props;

    let template = getMeta();
    
    let postData = {
        areaCode: moduleId,
        func_type: '2',
        key: fieldName,
        model: getAllFormValue(moduleId),
        pk_org: refpk
    };
    
    try {
        let res = await beforeEditForm(postData);
        let editable = res.data.editable;

        setFormItemsDisabled(moduleId, {
            [fieldName]: !editable
        });
        // if(res.data.refParam) {
        //     template[moduleId].items.map((item) => {
        //         if(item.attrcode === fieldName) {
        //             /**
        //              * 这里只修改了queryCondition的值，
        //              * 没有修改queryCondition 的指针地址，
        //              * */
        //             Object.assign(item['queryCondition'], res.data.refParam);
        //         }
        //     });
        // }

        template[moduleId].items.map((item) => {
            if(res.data.refParam && item.attrcode === fieldName) {
                 /**
                     * 这里只修改了queryCondition的值，
                     * 没有修改queryCondition 的指针地址，
                     * */
                  Object.assign(item['queryCondition'], res.data.refParam);
            } 
            else if (item.attrcode === fieldName && item.itemtype === 'refer') {
                if (!item.queryCondition) item.queryCondition = {}
                Object.assign(item.queryCondition, {
                    pk_org: refpk
                })
            }
        });
        setMeta(template);
        return res;
    }
    catch(e) {
    }
}
